package Exception;

/**
 * 异常:就是程序运行时出现不正常情况.
 * 异常由来:问题也是现实生活中一个具体的实物,也可以通过java的类的形式进行描述,并封装成对象.
 * 其实就是java对不正常情况进行描述后的对象体现
 * <p>
 * 对于问题的划分:两种:一种是严重的问题,一种是非严重的问题
 * 对于严重的,java通过Error类进行描述
 * 对于Error一般不编写针对性的代码进行处理
 * 对于非严重的,Java通过Exception进行描述
 * 对于Exception可以使用针对性的处理方式进行处理
 */
class Demo01 {
    int div(int a, int b) {
        return a / b;
    }
}

class ExceptionDemo {
    public static void main(String[] args) {
        Demo01 d = new Demo01();
        try {
            int x = d.div(4, 0);
            System.out.println("x= " + x);
        } catch (Exception e) {
            System.out.println("除零啦");
            System.out.println(e.getMessage());   //by zero
            System.out.println(e.toString());   //异常名称   :  异常信息
            //异常名称,异常信息,异常出现的位置
            e.printStackTrace();
            //其实JVM默认的异常处理机制,就是在调用printStackTrace方法,打印异常堆栈的跟踪信息
        }

        System.out.println("over");
    }
}